1. Field of the Invention
The present invention relates to a video encoding device configured to encode a video, and particularly relates to an inter-frame prediction (inter prediction) technique.
2. Description of the Related Art
The video encoding device uses a predictive encoding technique that involves: generating a predicted picture based on a locally decoded picture obtained by encoding/decoding an input picture (current picture) within the video encoding device; and encoding a predicted residual obtained by subtracting the predicted picture from the input picture. Meanwhile, the predicted residual is also called a difference picture or residual picture.
The video encoding standard “H.265/HEVC,” developed by the international standardization organizations ITU-T and ISO/IEC together, employs two types of encoding schemes, namely, advanced motion vector prediction encoding and merge encoding, for inter-frame prediction. The merge encoding is a technique that involves: based on motion information on a plurality of encoded blocks neighboring a block to be encoded, selecting the block with the most similar motion information (merge candidate); and encoding only an index corresponding to the position of the merge candidate.
The merge encoding does not involve encoding a motion vector, a reference picture index, or the like, and is therefore capable of reducing the amount of encoding as compared to the advanced motion vector prediction encoding.
For not only merge encoding but also other video encoding, the video encoding device divides the video encoding processing into a plurality of sub processes, and executes these sub processes in parallel. That is, the video encoding device generally performs pipeline processing when executing processing related to video encoding.
However, when a conventional video encoding device attempts to process merge encoding in parallel, a block neighboring a block to be encoded is sometimes being processed. In this case, the video encoding device cannot start processing the block to be encoded, until the processing of the neighboring block is completed.